@font-face {
    font-family: 'Museo Sans 500';
    src: local("Museo Sans 500"), local("MuseoSans-500"),
        url('/fonts/MuseeoSans_500.otf') format('opentype'),
        url('/fonts/MuseoSans_500.svg#MuseoSans-500') format('svg');
}

@font-face {
    font-family: 'Museo Sans 700';
    src: local('Museo Sans 700'), local('MuseoSans-700'),
        url('/fonts/MuseoSans_700.otf') format('opentype'),
        url('/fonts/MuseoSans-700.svg#MuseoSans-700') format('svg');
    font-weight: bold;
}

/*@font-face {
    font-family: "Museo Sans";
    src: url("MuseoSans_700.otf") format("opentype");
    font-weight: 700;
}*/

@font-stack: helvetica, lucida grande;
@font-stack-alt: 'Museo Sans 500', sans-serif;
@font-size: 14px;
@line-height: 1.4em;

@shadow-height: 10px;
@shadow-margin: 3em;

@container-width: 60em;
@container-margin: 0px auto;
@container-padding: 0px 1em;

@logo-height: 3em;
@logo-width: 10em;
@logo-padding: 1em;

@cl-font: #333;

@cl-bg-top: #222;
@cl-bg-nav: #222;
@cl-font-nav: rgba(255,255,255,.6);
@cl-font-nav-hover: rgba(255,255,255,.9);
@cl-bg-page: #ddd;
@cl-bg-footer: #333;

.gradient(@from:transparent, @to:transparent) {
    background-color: @from;
    background-image: -webkit-gradient(linear,left top,left bottom,from(@from),to(@to));
    background: -moz-linear-gradient(top,@from,@to);
}

.shadow(@x:0px, @y:0px, @z:0px, @color:transparent) {
    -webkit-box-shadow: @x @y @z @color;
    -moz-box-shadow: @x @y @z @color;
    box-shadow: @x @y @z @color;
}

.round(@radius:0px) {
    -webkit-border-radius: @radius;
    -moz-border-radius: @radius;
    border-radius: @radius;
}

.round_bottom(@radius:0px) {
    -webkit-border-bottom-left-radius: @radius;
    -webkit-border-bottom-right-radius: @radius;
    -moz-border-radius-bottomleft: @radius;
    -moz-border-radius-bottomright: @radius;
}

.column(@count: 0, @gap: 0px, @rule: none) {
    -webkit-column-count: @count;
    -webkit-column-gap: @gap;
    -webkit-column-rule: @rule;
    -moz-column-count: @count;
    -moz-column-gap: @gap;
    -moz-column-rule: @rule;
}


body {
    font-family: @font-stack;
    font-size: @font-size;
    color: @cl-font;
    background-color: #fff;
    text-rendering: optimizeLegibility;
}

a {
    color: inherit;
    text-decoration: none;
    outline: none;
}

.container {
    width: @container-width;
    margin: @container-margin;
    padding: @container-padding;
}

.clearfix { clear: both; }

#top {
    background: @cl-bg-top;
    border-top: solid 1.5px rgba(255,255,255,.25);
/*    .gradient(rgba(0,0,0,0),rgba(0,0,0,.3));*/

    ul {
        vertical-align: top;
        display: inline-block;
        float: left;
/*        margin-left: @logo-width + 2em;*/
    }

    li {
        display: inline-block;
    }

    a {
        display: inline-block;
        padding: 1em;
/*        height: @logo-height;*/
        letter-spacing: -0.06em;
        background-image: none;
/*        font-family: @font-stack-alt;*/
        font-family: 'Museo Sans 500', sans-serif;   
        font-weight: 700;
        color: @cl-font-nav;
        -webkit-transition-property: background-image, color;
        -webkit-transition-duration: .5s;
    }

    a:hover {
        margin-top: -1px;
        background-image: -webkit-gradient(linear,left top,left bottom,from(rgba(255,255,255,.05)),to(rgba(255,255,255,0)));
        border-top: solid 1px rgba(255,255,255,.8);
        color: @cl-font-nav-hover;
    }

    li:first-child a {
        padding-left: none;
    }
    
    li small {
        display: block;
        font-size: .8em;
        margin-top: .5em;
        font-weight: normal;
        color: rgba(255,255,255,.5);
        font-family: 'Museo Sans 500';
    }
}

#logo {
/*    max-height: @logo-height;*/
    width: @logo-width;
    float: right;
    .gradient(#c00,#800);
    padding: @logo-padding;
    .shadow(0px,3px,5px,rgba(0,0,0,.4));
    .round_bottom(.5em);
    margin-bottom: -5em;
}

#nav {
    background: @cl-bg-nav;
/*    .gradient(rgba(0,0,0,0),rgba(0,0,0,.4));*/
    border-bottom: solid 1px rgba(0,0,0,.25);
}

#callout {
    background-color: #600;
    background-image: -webkit-gradient(linear,left top,left bottom,from(rgba(0,0,0,.2)),to(rgba(0,0,0,.1)),color-stop(.1,transparent),color-stop(.9,transparent));
    background-position: center top;
    border-bottom: solid 1px rgba(255,255,255,.5);
    background-image: url(../img/blueprint_wide.jpg);
    color: #fff;
    /*padding: 4em 0px;*/
    
    div.container { 
        padding: @shadow-margin 0px;
    }
    
    h1 {
/*        text-transform: uppercase;*/
        font-weight: bold;
        font-family: 'Museo Sans 700', 'Museo Sans 500', sans-serif;
        text-shadow: 0px 2px 3px rgba(0,0,0,.4);
        font-size: 2em;
        padding-bottom: .5em;
    }
    
    p {
        line-height: @line-height;
        font-size: 1.25em;
        text-shadow: 0px 1px 1px rgba(0,0,0,.4);
    }
}

#content {
    padding: 1.5em 0px;
    .gradient(@cl-bg-page,#fff);
    background-color: #fff;
    border-top: solid 1px rgba(255,255,255,.5);
    
    p {
        line-height: @line-height;
        margin-bottom: @line-height;
        text-shadow: 0px 1px 1px rgba(255,255,255,.75);
/*        letter-spacing: -0.08em;*/
    }
}

div.shadow-top {
    height: @shadow-height;
    margin-bottom: -1 * @shadow-height;
    .gradient(rgba(0,0,0,.4),rgba(0,0,0,0));
    background-color: transparent;
}

div.shadow-bottom {
    height: @shadow-height;
    margin-top: -1 * @shadow-height;
    .gradient(rgba(0,0,0,0),rgba(0,0,0,.4));
    background-color: transparent;    
}

/* footer hacks */
@footer-height: 7em;

html, body { height: 100%; }
#wrapper {
    min-height: 100%;
    height: auto !important;
    height: 100%;
    margin: 0 auto (-1 * @footer-height);
}

#footer, #push {
    height: @footer-height;
}

#footer {
    background-color: @cl-bg-footer;
    color: rgba(255,255,255,.6);
    text-align: center;
        
    div.shadow-top {
        margin-bottom: 1em;
    }
}

#foot_nav {
    margin-bottom: 1em;
    
    small { display: none; }
    
    ul {
        margin: 0px;
    }
    
    li {
        list-style: none;
        padding: .25em;
        display: inline-block;
    }
    
    a {
        display: inline-block;
        padding: .5em 1em;
        font-family: @font-stack-alt;
        color: rgba(255,255,255,.6);
        text-shadow: 0px 1px 1px rgba(0,0,0,.4);
        -webkit-transition: color .25s linear;
    }
    
    a:hover {
        color: rgba(255,255,255,.9);
    }
}

#foot_copy {
    color: rgba(255,255,255,.3);
    font-size: .8em;
}